generalize the binary split learner to any categorical label (given an evaluation function)