This is just a side-effect of how you have to specify arrays in mgmt_cli calls and how its CSV handling works. I haven't seen good documentation for mgmt_cli.
In short, the CSV handling works by taking each line of the CSV after the header, and mixing it with the header to construct an API command. You end up with the contents of cell 1A followed by the contents of nA followed by the contents of 1B followed by the contents of nB, and so on.
mgmt_cli doesn't have a direct concept of arrays in its input. Instead, you have to specify the array members in the form "<key>.<index>". For example, to specify that the key "groups" should contain a three-member array, you need to provide "groups.1 <value> groups.2 <value> groups.3 <value>".