Determine order in which the 3 inputs go high
An asynchronous FSM is one logical way to approach this, but I think it would be easier (in terms of design effort) to simply employ six latches.

The latches are arranged in three pairs, in which each input signal latches the states of the other two signals at the time that it goes high. From these six variables, its a simple combinatorial problem to decode the six possible outcomes. Start by decoding the latch outputs in each pair to determine whether the enable sginal went high first (both latches low), second (one latch or the other is low) or third (both latches high).







simulate this circuit &ndash; Schematic created using CircuitLab