The Dashboard representation contains 3 views stacked on top of each other with one visible at a time with an opacity animation.
Enabled was used (presumably) to ensure that only the active representation gets input events.
Unfortunately this has a side effect. When switching views the icons on the inactive view all get enabledChanged events. This triggers a redraw with a greyed out effect on all icons. This is a very slow path, especially for something not even visible!
Setting visible also stops input events, without the side effect. Verified with qDebug in IconItem::polish