Have you looked at Lazy Foo's article on State Machines? It's uses enums and a case/switch function, and is relatively simple to understand.
Basically, you have a base GameState class that is abstract. It has three virtual functions - handleInput(), logic(), and draw().
Then, your other states - in this case, the Menu and the actual Pong state - will inherit from this base class. They'll inherit the three vital functions, and then you can put what you want in each respective state (e.g; a c_Player in the Pong state, or a c_Button in the Menu state).
The states are switched first by preparing the change with a set_next_state() function, then calling change_state() to actually change states.
I'd recommend going through the article, it really simplifies the whole state machine topic (at least it did for me )
You can even apply the same guidelines for an AI state machine too, which is pretty neat.