#123: work in progress
#121: last one of refactoring
implement EnumType instead of just SimpleDatatype for enums
#122: currency support