var attributeRequest = new RetrieveAttributeRequest
{
    EntityLogicalName = "entityName",
    LogicalName = "attributeName",
    RetrieveAsIfPublished = true
};

var attributeResponse = (RetrieveAttributeResponse)service.Execute(attributeRequest);
var attributeMetadata = (EnumAttributeMetadata)attributeResponse.AttributeMetadata;

var optionList = (from o in attributeMetadata.OptionSet.Options
                  select new { Value = o.Value, Text = o.Label.UserLocalizedLabel.Label }).ToList();