Ознакомьтесь с записью в блоге Беа Штольниц "Как отобразить сгруппированные данные в TreeView?" .
Вы используете HierarchicalDataTemplate для представления CollectionViewGroup.Свойство Name будет иметь значение свойства, с которым вы сгруппированы, поэтому значение Fund или Cipher и свойство Items будут иметь вложенную группу для внешних групп и фактический объект для самой внутренней группировки.Это будет выглядеть примерно так:
<Window.Resources>
<!-- Template for actual object -->
<DataTemplate x:Key="ThirdTemplate">
<TextBlock Text="{Binding OtherData}"/>
</DataTemplate>
<!-- Template for Cipher groups -->
<HierarchicalDataTemplate x:Key="SecondTemplate"
ItemsSource="{Binding Items}"
ItemTemplate="{StaticResource ThirdTemplate}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
<!-- Template for Fund groups -->
<HierarchicalDataTemplate x:Key="FirstTemplate"
ItemsSource="{Binding Items}"
ItemTemplate="{StaticResource SecondTemplate}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
</Window.Resources>
<TreeView Name="treeView1" ItemTemplate="{StaticResource FirstTemplate}"/>