How to login by single role if user have multiple roles?
Create a custom module
Create a custom form where Admin can whitelist users for certain roles .. Form should have  username and roles as a list or checkboxes.
Store these settings in database - uid - roles
When a user logs in redirect user to a form where he can select user roles from above list
On Form Submit, Update user programatically and assign role to the user he selected, remove other roles that user has if any