Brieman cat branch

checking all combos is tricky.  There are Sum_k [ nCk ]/2 total possible splits (n= num feature values, nCk is n choose k).  Extending our loop would only consider splits that extend the inset as has already previously been built and miss most other combinations.  There are generalizations of the binary split algorithm, but are far less trivial to implement.