Class based registration and lookup of EnumDataStores

This will change as discussed. Rest looks good.