Your code is not updating the value of currentState when you change screens so it will always be the same value.
Look at this again
Screen 1 on display. currentState = 1
button 1 pressed. Set currentState to 2 and show screen 2
button 2 pressed. Set currentState to 3 and show screen 3
button 3 pressed. Set currentState to 4 and show screen 4
NOTE - I deliberately referred to screens rather than menus because when updating a fingerprint, for example, there will not be a menu on the screen, rather a prompt asking for the user to put their finger on the device or press a button to exit. Equally, when a fingerprint has been read you probably need a screen asking for confirmation, but that is up to you.