If it’s really that much dynamic then my first thought is to script it.
So, you could still use another column to trigger the automation, or something else, and the “business logic” would happen within a JS script.
You’d also need a column that contains the “previous” value, which would be read and then updated by the script to keep it in sync with the “value”.
It’s a bit complicated to explain maybe (I just woke up, doesn’t help)
Basically, two fields: currentValue (single select) and valueBefore (text)
One automation, reads both, and does something different based on both values
In the end of the automation, update valueBefore to match the new value in currentValue
Could not need a custom JS script, depends on the complexity, scripting might be simpler to maintain in such case