Interface and base implementations for EnumData and EnumDataStore.

Also included a Registry to be used by Application
What is the purpose of the provider?