I want to do this in a later optimization of checkout. I would need to delay the decision of what to do with a certain entry until the Treewalk has walked also the whole subtree.
Example: 
Head: foo/c
Index: foo/c, foo/d
Merge: foo

The first entry I have to deal with is "foo" and I detect a file/folder conflict. To decide what to do with foo I have to know wether index entry foo/c is clean - but this entry comes later in the Treewalk.

I was planning to store a list of (path,entry, dirtyOp, cleanOp) triples: when I finally found out the index under path is clean/dirty then the entry is processed according to cleanOp/dirtyOp.  Operations could be UPDATE,CONFLICT ...

But as I said: to reduce complexity for this proposal I did a brute force attempt to start a new walk.