I’ve only seen a few variants to handle this, and that is either to manually change it through editing, using the possibilities offered by Tasks plugin (see here), or crafting something on your own using something like QuickAdd.
I’ve opted for the latter variant, and built my self a custom menu to add task with/without status changes and/or inline fields. Very much a personalized solution.
I think that using Tasks, and possibly assigning a hothey to the toggle task done command could be your best option. Or right-click on the task status field, and select the “correct” status.
Tasks also allows you to set the ‘next’ status for each status, so that, for example, if you have a task with the status [!] then ticking it will change the status to [:], or whatever you decide - not sure if this will be flexible enough for you.