Support enrollment mode breakdowns

Breakdown enrollments by mode.

Reviewer: @brianhw
Secondary Reviewer: @rocha
FYI: @jbau
Is it possible to combine this class and `EnrollmentByModeTask` above? So far I am not clear why we have both.