define a enum instead of `std::string` here. As I said, string comparsion is much expensive than int.