Ledge climbing implementation approach question

Come on guys, even a simple “I did (something similar) using (xy method)” would be helpful.
Is using a bunch of bool values to control input to this degree bad programming?
Would a status enum of some sort be confusing?
Is making a new movement mode overkill?