and you want to read from the input words like "First", you'll have to do the parsing manually. Unfortunately C++ doesn't have reflection.
Otherwise you can go with something simple like
If you want the input to be a string, you have to do something like this. As helios said, C++ doesn't have reflection, so you have to manually make the connection between string "Dog" and enum Dog.