When selecting which unit type to add to a group the game would need to prioritise which individual units to take first. I guess it would make most sense to prioritise ungrouped units first, and after that it would take the highest level units?
Thus, usual\default filter should be "level gradient" - for example, 5 lines of difference on top of each unit icon with 5 numbers (quantity of units with levels 1-2, 3-4, 5-6, 7-8, 9-10) EXCLUDING low-health creatures (let them sleep and eat, do not touch them). UI mechanics should always select first the most healthy and powerful unit from each level.
"Exclude already grouped units" in this panel will be a single option - we will get level-gradient of healthy units, which don't belong to any earlier created group.
Busy or not - this is really important only for imps, and, maybe, chunders\augres. "Differ between busy\low-health and free units" filter can be important for them. ("Low-health" criteria should be a little lower here - 25% health for worker is OK to select him for work, but the same amount of health for fighter is not enough if you want to send him to the frontline.)
Finally, I suggest level gradient filter (with the ability to exclude alrady grouped units) plus completely different "busy\low-health or free" filter for workers. "Total" quantity should be shown only when filters are not "on". Nothing more than that!