Another option is to backport choice as in https://github.com/scikit-learn/scikit-learn/pull/2638/files