In the starting process pyStartCase of the case type, under the "Process" tab you can add privilege. If this Privilege is not added in the the user's Access role, they wont be able to see the case type in the Create menu. I think this is the straight forward way to achieve the requirement.
Let's see if any PSC member has more simple solution. Thanks