gather_by function

Gather multiple groupings of targets