1. A method of enabling file system tagging by an application, comprising: creating tag associations for the file system in a storage device, comprising: associating at least one tag with a file object of the file system in the storage device, comprising: allocating a file association structure in the storage device, the file association structure having attributes including a pointer to a file handle of the file object and a list of names of tags associated with the file object; and for each tag in the file system, allocating a tag structure, the tag structure comprising: a name of the tag; a list of file associations for the tag, the list specifying a linked list of file association objects defined by the file association structure; a tag sphere indicator, wherein the tag sphere indicator is used to control a visibility of files associated with the tag in the file system by an end user; and a list of tags contained within a tag sphere of the tag structure; and in response to receiving a system call from the application, the system call including a request for a read directory operation on the file system, performing: retrieving the tag associations from the storage device to identify the file object; dynamically assembling a directory entry structure that includes a hierarchical view of tags, the directory entry structure comprising a plurality of root directories and at least one subdirectory, the plurality of root directories corresponding to the tags with a tag sphere indicator enabled, and one or more subdirectories corresponding to the tags associated with the file object, the directory entry structure assembled based on the tag associations and corresponding file object; and returning the directory entry structure to the application, wherein the file object and a second file object share at least one common tag, the file object and the second file object are in distinct tag spheres, and selecting the common tag within the tag sphere of corresponding file causes the second file object to be hidden.