Creating two distinct user types with Meteor accounts package

I am building an application that has two types of users. Professional users and their clients. The account types are completely distinct with no overlap. So, emails registered as Pro could still be used to register as a Client, and if a Pro user tried to log in using the client form, their account would not exist.

Is there any way I can create two distinct user sets using the meteor accounts package? I have tried to add an attribute like ‘user.isPro’ and then check if the Pro user exists when a user is created, like this:

Accounts.onCreateUser(function(options, user) {
var email =;
   if (Meteor.users.find({emails: email, isPro : true}).count() > 0) {
        throw new Meteor.Error(403, "This email address is already registered");
   user.isPro = true;
   return user;    

This is not working. It assigns user.isPro correctly, but meteor prevents duplicate emails from being registered instead of using the validation I created above. Any ideas on how I can achieve two distinct user sets? Thanks for your help!

I am really interested in this solution, facing the exact same situation.
Were you able to get your answer?
Anything I can learn from how you tackled this?