Что происходит, когда исполнитель тоже хочет стать слушателем? ему нужно будет новый аккаунт что ли заводить? (некоторые сервисы такой геморой и создают, не позволяя совмещать роли)
Жизнь такова, что как только у тебя в базе появляются люди, то заводи для людей отдельную структуру таблиц, вне зависимости от их ролей, а уже к ней связями докидывай роли и свойства, связанные с ними.
Поэтому у тебя должна быть таблица peoples и связи к ней musicans и listeners
Совет, постарайся избегать ситуаций, когда в идентификаторах нужно что то упаковывать, какую то информацию, в битах как у тебя. Это накладывает кучу ограничений потом по оптимизации (например шардинг по нескольким серверам) или лимитирует количество, ведь заранее не угадаешь лимиты. Не экономь на полях, есть нужная к использованию информация - добавляй поле или даже целую таблицу
Еще совет, не определяй ограничения функционала пользователей через структуру... сегодня ты думаешь ограничивать слушателей заливать музыку, завтра пожелаешь разрешить, но если изначально в структуру заложить что это не так, модификация может стать дорогой. Так же, сегодня ты думаешь что у тебя только две роли, завтра придумаешь три, через год инвестор пожелает еще пять, а программисты будут вместо добавления в структуру еще полей и таблиц, переписывать всю базу полностью.