This is restricted to alphabetical by design. And the reason is, the list of Test Steps is a merged lists from all plugins. It is not really possible to give priority to specific step orders once we get into that cause. Any plugin could also have a “Check” group and decide that their Test Step should be “first”.
What you could maybe do is only allow these Steps to be added as part of an If/Else block. So, the parent step is what is added by the user, but it would add If and Else as child steps (this can be done in the constructor of the Test Step). That is generally what we see used when there is a dependency order of the steps.
You could then allow IF to be added at any time, but else only be added by the parent step using some of the Parent/Child attributes: