In workflow, if you have multi-value fields and you append data, it always appends to the last index + 1 of the array.
If you enable grouping however, it appends to the index current group count + 1 instead of the actual field's last index + 1
If you then disable the groups, and re-enable the groups, the data for the field finally moves to the correct index. Here is an example:
Starting entry looks like this, with no values yet for Field 2
Workflow will append field values to Field2
Now I have 4 values for each field, 2 blank values were inserted to each array.
When I ungroup the fields suddenly the arrays go back to normal with only 2 values each.
Then when I re-group they stay corrected