SNS FIFO provides strict ordering on deliveries to a SQS FIFO queue for each message group. Messages not in the same group are delivered in parallel while messages within a group respects the message ordering on delivery.
In case of retries, SNS FIFO will attempt to retry the same message in a group until it succeeds before moving to the next message in the group. If all messages are in the same group, then the first message must be delivered before moving to the next to respect the message ordering.