Como faço para agrupar dados em uma exibição do ASP.NET MVC?

Em ferramentas de relatório como o Crystal Reports, existem maneiras de obter dados desordenados e agrupá-los por uma coluna específica nos dados, criando títulos de linha para cada item exclusivo na coluna especificada.

Se eu tiver isso:

Category1    Data1
Category1    Data2
Category1    Data3
Category2    Data4
Category2    Data5
Category2    Data6

O software de relatórios irá agrupá-lo assim:

Category1
      Data1
      Data2
      Date3
Category2
      Data4
      Data5
      Data6

Existe uma maneira de fazer isso em uma visualização do asp.net MVC, talvez usando uma simples frase linq ou um método de extensão linq com um foreach ou um foreach aninhado?

questionAnswers(1)

yourAnswerToTheQuestion