Interface and base implementations for EnumData and EnumDataStore.

Also included a Registry to be used by Application
The abstract enumdatastore is looking similar, why do we need this class ?