Interface and base implementations for EnumData and EnumDataStore.

Also included a Registry to be used by Application