I am not sure if this will solve Your problem, but in group_by You can add custom logic which allow You to create composite key.
Remember that SEPERATOR value should be defined accordingly to data source You work with, if “–” characters occur in model or type You should not used them as it will not allow You to reverse the process of grouping.
const SEPERATOR = "--";
_.chain(data).filter((item) => item.selected).groupBy((item)=>`${item.model}${SEPERATOR}${item.type}`).value();