Enum usage to restrict class attribute values
You get no benefit for raising an error in is_in_enum. It's actually a hindrance.
I'd expect to use that function as followed:

if foo.is_in_enum(key):
    # do something
else:
    # do something


However, to correctly use your function I'd have to use:

try:
    foo.is_in_enum(key)
except ValueError:
    # do something
else:
    # do something


Instead just change it to return your if statement.
You can use **kwargs with keyword arguments. Use that instead.


And so I'd use:

from enum import Enum


class ArticleMetadata(object):
    ArticleTypes = Enum('ArticleTypes', 'original modified', module=__name__)

    def in_enum(self, value, Enum):
        """Verify that a value is contained within a defined Enum object."""
        return value in Enum.__members__

    def __init__(self, article_type=None, **kwargs):
        """Set class attributes."""
        if article_type is None or not self.in_enum(article_type, self.ArticleTypes):
            raise ValueError("Value {} not in Enum list.".format(article_type))
        self.article_type = article_type