Add a loader in the EnumDataRegistry so that we can load EnumData
from a table rather than just an enum.

The good thing with this appraoch is that the Enum is still loaded the same way
via the EnumDataRegistry. All the loading from the Table is hidden from the caller

We can add support for multiple loaders in the future if needed.
Merge pull request #172 from sarality/enum_data_loader

Add a loader in the EnumDataRegistry so that we can load EnumData