You could use two layouts that are identical except for the tab order. An OnobjectEnter trigger on one of the "other three fields" could perform a script that changes layouts.
But a simpler method would be to leave the additional fields out of the tab order but use the OnObjectkeystroke trigger to perform a script that uses:
Code ( Get ( TriggerKeystroke ) )
to identify when a tab, enter or return was pressed in order to use go to field to move the focus to the next of this group of fields. Be sure to end such a script with Exit Script [False] to keep the actual keystroke from being processed.
Or . . . if you have fmp 13, place both sets of fields on the same layout, identical sets fields on top of each other and hide / display the fields with a simple Boolean calculation , thus changing the tab order.