I'm looking for best way to make seperated groups of users. I mean, Course Creator 1 create new users and next enroll them to the course. Very important for me is one thing - when Course Creator 1 enroll new students to course, he can only enroll students that he created.
In simple words: Users created by Course Creator 2 must been invisible to Course Creator 1 and users created by Course Creator 1 must been invisible to course creator 2.
Your use of language here is actually confusing, Course Creators do not create users, the Users are already in the User database and if they are not, they should be. All Users are seen when enrolling Users in a course, they have to be. You cannot discriminate at this level. What you can do is to delineate between groups, that might hold the answer to your question.
Have you looked at these documents on bulk Enrollments and then looked into documentation about Groups? There are a number of documents about Groups, Groupings and Cohorts that explain what you need to know, what you can and cannot do and how you can use each delineation in enrollments.