automatic generate names for enum type, C++ version