ModelProcessingPhase enumeration really is a strongly-ordered, i.e. it amounts to what steps need to be taken, in order.
Define ExecutionOrder, which is actually a set of positive byte values reflecting current implications of ModelProcessingPhase.
This allows us to store the equivalent of ModelProcessingPhase in StatementContextBase for the cost of a single byte instead of a reference, freeing up 3-7 bytes of storage.