sml: create a enumeration type again but now using concepts