This feature is orthogonal to algorithms that determine the order in which jobs are considered (e.g., round robin). Jobs are still considered in the same order they were before. The difference is whether we actually do the work to determine if a job can run. After the first job in a class can’t run, we mark the class as can’t run. This means the next time we see a job in this class, we know the job can’t run. There is no reason to go searching through the nodes to find the same answer again.
To touch on the rest of your question, there is only a handful of cases that the queue a job is in matters to the equivalence class. When one of those cases come up, the queue is used to differentiate classes. The EDD does try and explain the logic used to create the equivalence classes. If you look starting at the second paragraph, it lists the attributes/resources used and at what times they are used. For example, queues are used if the queue is a primetime queue (there are other queue cases as well).
If you have any additional questions, I’m happy to answer them.