{
    switch (featureID)
    {
      case EcorePackage.EENUM__EANNOTATIONS:
        return ((InternalEList<?>)getEAnnotations()).basicRemove(otherEnd, msgs);
      case EcorePackage.EENUM__EPACKAGE:
        return eBasicSetContainer(null, EcorePackage.EENUM__EPACKAGE, msgs);
      case EcorePackage.EENUM__ETYPE_PARAMETERS:
        return ((InternalEList<?>)getETypeParameters()).basicRemove(otherEnd, msgs);
      case EcorePackage.EENUM__ELITERALS:
        return ((InternalEList<?>)getELiterals()).basicRemove(otherEnd, msgs);
    }
    return eDynamicInverseRemove(otherEnd, featureID, msgs);
  }