What should I do to set up a branching combo system?

So this is what I was using before for a simple 1,2,3 combo.

However now I want to expand it. I have 2 attack inputs and each one has a directional chorded input. so I can do stuff like high kick and low kick.

So what I am trying to figure out and failing to do so is how I should be setting it up so I could do something like punch, punch, kick, kick for a unique combo string. maybe kick, punch, kick, kick. And kick, high kick, low kick.

I was setting up a mockup based on being in Attack 1 state and attack 2 state and using a combo# boolean and combostage interger but realized it was getting kinda convoluted and my thought process petered out.