<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _remove_tag_helper(self, p_key, p_value):
 """ Removes a tag from the internal todo dictionary. Only those instances with the given value are removed. If the value is empty, all tags with the given key are removed. """

        tags = self.fields['tags']

        try:
            tags[p_key] = [t for t in tags[p_key] if p_value != "" and t != p_value]
            if len(tags[p_key]) == 0:
                del tags[p_key]
        except KeyError:
            pass