The paper considers a dynamic scheduling problem of a finite-source M/M/1 system with several types of customers and finds a preemptive service assignment policy which maximizes the expected present value of rewards received minus costs incurred over an infinite planning horizon. A policy which always selects customers according to a fixed priority order is called an index policy. The paper shows that, when all the average thinking times are the same, there exists an index policy that is optimal over the class of policies considered, which contains policies that are not index policies.