public function filterByContactType($contactType = null, $comparison = null)
    {
        $valueSet = DealerContactInfoTableMap::getValueSet(DealerContactInfoTableMap::CONTACT_TYPE);
        if (is_scalar($contactType)) {
            if (!in_array($contactType, $valueSet)) {
                throw new PropelException(sprintf('Value "%s" is not accepted in this enumerated column', $contactType));
            }
            $contactType = array_search($contactType, $valueSet);
        } elseif (is_array($contactType)) {
            $convertedValues = array();
            foreach ($contactType as $value) {
                if (!in_array($value, $valueSet)) {
                    throw new PropelException(sprintf('Value "%s" is not accepted in this enumerated column', $value));
                }
                $convertedValues []= array_search($value, $valueSet);
            }
            $contactType = $convertedValues;
            if (null === $comparison) {
                $comparison = Criteria::IN;
            }
        }

        return $this->addUsingAlias(DealerContactInfoTableMap::CONTACT_TYPE, $contactType, $comparison);
    }