Restricted channels with a join policy
Currently all you can have in Mattermost is public channels (joinable by everyone in the team) and private channels (not visible in any listing, and you need to be added).
The problem is that sometimes you want to have a private discussion where e.g. everyone from the IT department is allowed to participate. Currently you would have to add your whole department to such a channel (which is spammy, especially since you cannot hide any channels from your sidebar without leaving them).
It would be nice if it was possible to mark a channel as restricted. Such a channel would still be in the channel list when searching for channels to join, but to actually join it, you would have to be approved by a channel admin or member (should be configurable). Another option would be using a LDAP group to determine who can join such a channel.
This would be beneficial in the team edition as well, since even in a team you might have some subcommunities where you don't want everyone to join immediately. For team edition the only way to join such a channel would be being approved by any member (since there are no channel admins), while enterprise would have all the options - channel member, channel admin, or LDAP group, and maybe even an external API call to determine whether someone can join or not.