GoToPreviousState goes to the last state the FSM was in, it can't be used to backtrack through multiple states.
If your button path is linear then its just a matter of telling the buttons to fire events that go to either the next or the previous state by making transitions to them. If it's not linear, then I think you would need to keep track of the path the user took and reuse that information when going forward/backward.