Are transactions many-to-many? If so, who decides on the grouping?
Transactions are not grouped or collected together in any fashion, unless the sender of every Bitcoin within that transaction agrees to that. CoinJoin is one way of grouping your transaction together with other people.

There is also a proposal called 'MimbleWimble,' which would make it possible to combine many transactions. This has not been implemented, though.