def bio2_to_bioes(tags):
    """
    Convert the BIO2 tag sequence into a BIOES sequence.

    Args:
        tags: a list of tags in BIO2 format

    Returns:
        new_tags: a list of tags in BIOES format
    """
    new_tags = []
    for i, tag in enumerate(tags):
        if tag == 'O':
            new_tags.append(tag)
        elif len(tag) < 2:
            raise Exception(f'Invalid BIO2 tag found: {tag}')
        elif tag[:2] == 'I-':
            if i + 1 < len(tags) and tags[i + 1][:2] == 'I-':
                new_tags.append(tag)
            else:
                new_tags.append('E-' + tag[2:])
        elif tag[:2] == 'B-':
            if i + 1 < len(tags) and tags[i + 1][:2] == 'I-':
                new_tags.append(tag)
            else:
                new_tags.append('S-' + tag[2:])
        else:
            raise Exception(f'Invalid IOB tag found: {tag}')
    return new_tags
