add enum_map support