Can you read in a word from a file with Fstream, but instead of it being read as a string, it's read as the number of an enumeration(if that made any sense).
I don't think it's possible. You could try using a hashmap, personally I use boost::unordered_map for things like this. It won't be as fast as an enum but it's a lot faster than std::map. The boost libraries offer so much, it's worth adding it as a dependency anyway. If you want to use boost, here's a little demo: