У меня есть ситуация с одним уровнем дерева: 
<select ng-model="tipost" 
        ng-options="tip.DESC group by tip.TIPIS for tip in tipall"><br>
</select>
 
где json: 
    [
     {"ID":"1", "IDPARENT":"0", "TIPIS":"", "DESC":"GroupName1"},
     {"ID":"2", "IDPARENT":"1", "TIPIS":"GroupName1", "DESC":"CHILDNAME1"},
     {"ID":"3", "IDPARENT":"0", "TIPIS":"", "DESC":"GroupName2"}
    ]
 
проблема в том, что это создает optgroups со своими детьми, но повторяет
корни тоже: 
- GroupName1
- GroupName2
[ GroupName1 ]
- CHILDNAME1
[ GroupName2 ]
 
я хочу создать: 
[ GroupName1 ]
- CHILDNAME1
[ GroupName2 ]