The default course enrolment is "self enrolment." If you disable that then no key is needed. You then have are left with manual enrol or a paid enrol. Assuming that Mnet is not yet in use. By putting a course cost on you force the enrolment to paid. Thus if every course has $$ on it, pay up to enter.
Any registered user can cruise the catogorys. It is the enrolment method that enforces payment policy. Irrespective of how they arrive.