supports enum mappings