You can use conventional pre-commit[0] to validate that commit messages follow the convention and use only the types that the team agreed upon.
This still requires discipline to choose the "right" type and scope.
[0] -- https://github.com/compilerla/conventional-pre-commit