This is possible with fieldQuery(), but it makes the view so slow as to be unusable if you have more than 100 albums or so.
You would need something like this: (Warning - this will freeze your MC while calculating)
1st level - group by Artist
2nd level - group by Expression:
if(isEqual(Listcount(fieldQuery(Artist, treenode(1), AlbumGroup, 0, 0)),1, 2), [Album] ([AlbumGroup]), [AlbumGroup]\[Album])&DataType=[list]
No 3rd level needed. [AlbumGroup] is the name of the field containing your Grouping tag (complete/single/live/bootleg).
I guess ZStats could be used to store the pre-calculated FieldQuery() values.