You could do 2 IF statements.
For the 1st if, you would use AnimationPhase as input A, and a value of 1 for B. Then you would have A<B input be the 1st texture, and the A=B and A>B inputs be the 2nd texture.
Then you do the same thing with the 2nd if function, but input B =2, A<B is second texture and the other 2 inputs are the third texture.
Then you need to rescale your animation phase value to be 0-3 instead of 0-1. I just realized an issue with your shader. You took frac of time (correct) and then multiplied by 0.4. That will limit your animation phase between 0 and 0.4. Multiply by 0.4 before the first frac to slow it down like that.
What you should do for the phase is first get the 0-1 value. Frac of time is correct. Then multiply that be 3 instead of 0.4. Then you need to feed that *3 version of phase to the B of the 2 IF statements. Then you take frac again of the *3 version and feed that into the actual animation phase input of the flipbook node.
Hopefully everything I said made sense. There’s a chance my off-the-cuff material code has some errors but I will try to set up the nodes myself if it doesn’t work.