LINQ: groupby and Join together

I need set of products per Category as shown below