A best use of Enum for DataTypeEnum.
Add "final" keywords.