I use the self-enrol method in most all of my courses, and limit it to only members of a particular cohort. Most courses then have multiple self-enrol options for different cohorts. When someone goes to enrol in a new course, as it should only the method that matches their cohort displays an "Enrol me" button. The others display the message "Only members of cohort '...' can self-enrol."
Wouldn't it be cleaner to just not display those options? And if none of the options match the student's cohorts, then default "You cannot enrol yourself in this course." message?
How might I go about removing the unavailable options for students?