def METHOD_NAME(projects_by_guid):
    variant_tag_types_models = VariantTagType.objects.filter(Q(project__guid__in=projects_by_guid.keys()) | Q(project__isnull=True))
    variant_tag_types = _get_json_for_models(variant_tag_types_models)
    project_tag_types = defaultdict(list)
    if len(projects_by_guid) == 1:
        project_guid = next(iter((projects_by_guid.keys())))
        project_tag_types[project_guid] = variant_tag_types
    else:
        prefetch_related_objects(variant_tag_types_models, 'project')
        variant_tag_types_by_guid = {vtt['variantTagTypeGuid']: vtt for vtt in variant_tag_types}
        for vtt in variant_tag_types_models:
            project_guid = vtt.project.guid if vtt.project else None
            project_tag_types[project_guid].append(variant_tag_types_by_guid[vtt.guid])
    project_tag_types[None].append({
        'variantTagTypeGuid': 'mmeSubmissionVariants',
        'name': MME_TAG_NAME,
        'category': 'Matchmaker',
        'description': '',
        'color': '#6435c9',
        'order': 99,
    })
    for project_guid, project_json in projects_by_guid.items():
        project_json.update({
            'variantTagTypes': sorted(
                project_tag_types[project_guid] + project_tag_types[None],
                key=lambda variant_tag_type: variant_tag_type['order'] or 0,
            ),
            'variantFunctionalTagTypes': VariantFunctionalData.FUNCTIONAL_DATA_TAG_TYPES,
        })