Returning a typed list from a Linq query that groups