Is there a simpler way of checking if one enum has a particular value and others some other values
<p>A User in my system can have Email, Mobile or Phone and based on the values passed I am checking some conditions and then setting the ContactDataStatus (which is an enum) for each. I am then checking the ContactDataStatus to determine whether the provided contact details were valid.</p>

<p>The enum has the following definition</p>

<pre><code>public enum ContactDataStatus
    {
        ExistsButUnverified = 1, 
        ExisitsAndVerified = 2, 
        IsValid = 3, 
        IsUninitialized = 4
    }
</code></pre>

<p>I wrote the following if conditions to set isValid variable</p>

<pre><code>    isValid = false;
    if (emailStatus == ContactDataStatus.IsValid &amp;&amp; 
       (mobileStatus == ContactDataStatus.IsValid || 
        mobileStatus == ContactDataStatus.IsUninitialized) 
        &amp;&amp; (phoneStatus == ContactDataStatus.IsValid || 
        phoneStatus == ContactDataStatus.IsUninitialized))
    {
        isValid = true;
    }
    else if (mobileStatus == ContactDataStatus.IsValid &amp;&amp; 
    (emailStatus == ContactDataStatus.IsValid || 
    emailStatus == ContactDataStatus.IsUninitialized) &amp;&amp; 
    (phoneStatus == ContactDataStatus.IsValid || 
    phoneStatus == ContactDataStatus.IsUninitialized))
    {
       isValid = true;
    }
    else if (phoneStatus == ContactDataStatus.IsValid &amp;&amp; 
    (emailStatus == ContactDataStatus.IsValid || 
    emailStatus == ContactDataStatus.IsUninitialized) &amp;&amp; 
    (mobileStatus == ContactDataStatus.IsValid || 
    mobileStatus == ContactDataStatus.IsUninitialized))
    {
      isValid = true;
    }
</code></pre>

<p>Is there a simpler/shorter way of writing this?</p>
