What would be a optimal index for this query in mysql
I have a few suggestions that may help
SUGGESTION #1 : Use index with different column order
ALTER TABLE sales_reps ADD UNIQUE INDEX
(state,account_id,name,platform,client_group,from_date);

Note that state and account_id are reversed. That way, there is no need to traverse all rows for a given account_id that would separate enabled from disabled. Only enabled entries for account_id are read.
SUGGESTION #2 : Refactor the Query
Instead of
SELECT * 
FROM `sales_reps` 
WHERE `sales_reps`.`account_id` = 1 
AND state = 'enabled' 
AND (clients &gt;= 1 OR revenue &gt;= 100) 
ORDER BY name,platform,client_group,from_date

Try this experiment
First run this query
SELECT enabled,accountid,name,platform,client_group,from_date
FROM sales_rep WHERE account_id=1 AND state='enabled'
ORDER BY enabled,accountid,name,platform,client_group,from_date

then run this query
SELECT * FROM sales_rep WHERE account_id=1 AND state='enabled'
AND clients &gt;= 1 OR revenue &gt;= 100

If the performance of those two queries are fast, then JOIN them as subqueries and see
SELECT B.* FROM
(
    SELECT enabled,accountid,name,platform,client_group,from_date
    FROM sales_rep WHERE account_id=1 AND state='enabled'
    ORDER BY enabled,accountid,name,platform,client_group,from_date
) A LEFT JOIN
(
    SELECT * FROM sales_rep WHERE account_id=1 AND state='enabled'
    AND clients &gt;= 1 OR revenue &gt;= 100
) B USING (enabled,accountid,name,platform,client_group,from_date)
WHERE B.enabled IS NOT NULL;

Give it a Try !!!