CatWrap=ErrorCategory{"Wrap"}// The error is simply wrapping another error (e.g. when a grpc call returns an error)
CatSystem=ErrorCategory{"System"}// An internal system error (e.g. connection to db failed)
CatUser=ErrorCategory{"User"}// The user (the API caller) did something wrong (e.g. he has no permissions to do this)
CatForeign=ErrorCategory{"Foreign"}// A foreign error that some component threw (e.g. an unknown mongodb error), happens if we call Wrap(..) on an non-bmerror value