If you wanted to do it your way, you'd have to put the "check if variable is 2" or "check if variable is 3" OUTSIDE the "branch end" text so that it first checks for 1, then checks for 2, then checks for three, without being dependent on having the variable actually BE 1 before ever CHECKING for 2. If your variable is 2 in your current form, it won't check for it, because your variable isn't 1 FIRST.
Basically, here's what you're doing:
"If variable is 1, reset variable to 0 and then check to see if the variable is 2". Well, if you just reset your variable to zero, it isn't going to be two. And if it was just checked to see if it was 1 (and not greater than 1) without putting in an "add 1 to variable", it won't ever be higher than 1. On top of which, if your variable is 2 and never hit 1, it won't check for 2 because it first has to check for 1 instead. You would have to include it right after where it says "branch end" instead of adding a conditional branch WITHIN the first conditional branch. Though, your way might also work if you include your commands under the "else" case as well. As in, if it's not 1, check for 2, if it's not 2, check for 3. Else Case is really great for things like that.