public async Task <TagResponse> Handle(CreateTagRequest request)
        {
            if (!Enum.IsDefined(typeof(UserRole), request.Bound.ToUpper()))
            {
                throw new ArgumentOutOfRangeException("User role has wrong value");
            }

            var tagBoundToRole = Enum.Parse <UserRole>(request.Bound.ToUpper());
            var tag            = new Tag(request.Name, tagBoundToRole);

            _tagRepository.Create(tag);
            await _tagRepository.PersistChanges();

            return(tag.Adapt <TagResponse>());
        }